(C) 1996 AROS - The Amiga Replacement OS


NAME
#include <proto/utility.h>
QUAD SMult64()
SYNOPSIS
LONG arg1
LONG arg2

LOCATION
In UtilityBase at offset 33
FUNCTION
Compute the signed 64-bit product of arg1 * arg2.

INPUTS
arg1, arg2 - 32 bit signed numbers.
RESULT
arg1 * arg2

NOTES
For m68k assembly programmers, QUADs are returned in D0:D1 (with the high 32 bits in D0).

The utility.library math functions are unlike all other utility functions in that they don't require the library base to be loaded in register A6, and they also save the values of the address registers A0/A1.

This function is mainly to support assembly programers, and is probably of limited use to higher-level language programmers.

EXAMPLE
BUGS
SEE ALSO
utility/SMult32(), utility/UMult32(), utility/UMult64()
INTERNALS
Actually handled in config/$(KERNEL)/utility_math.s

This is essentially SMult32(), but with the code to calculate the product of the high 32 bits of the multiplicands.

In fact all that is added is the 2^32 * ac term (see docs for SMult32().)

HISTORY
03.02.1997 ldp
machine.i in local directory
02.02.1997 iaint
Special assembly support code for m68k/Amiga compatibility